/*
  高阶函数-函数作为参数
*/

function forEach(array, fn) {
  for (let i = 0; i < array.length; i++) {
    fn(array[i])
  }
}

// Test
const arr = [1, 3, 5, 4, 8]

// forEach(arr, function (value) {
//   console.log('value >>> ', value)
// })

function filter(array, fn) {
  const result = []
  for (let i = 0; i < array.length; i++) {
    if (fn(array[i])) {
      result.push(array[i])
    }
  }
  return result
}

const result = filter(arr, function (item) {
  return item % 2 === 0
})

console.log('result >>> ', result)
